﻿// 5028. 斗牛.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


using namespace std;
/*
https://www.acwing.com/problem/content/5031/

给定五个 0∼9范围内的整数 a1,a2,a3,a4,a5。

如果能从五个整数中选出三个整数并且这三个整数的和为 10的倍数（包括 0），
那么这五个整数的权值即为剩下两个没被选出来的整数的和对 10取余的结果。

可以证明，如果存在多个三元组满⾜和是 10的倍数，那么无论选出哪个三元组，剩下两个数之和对 10取余的结果都是相同的。

如果选不出这样三个整数，则这五个整数的权值为 −1。

现在给定 T组数据，每组数据包含五个 0∼9范围内的整数，分别求这 T组数据中五个整数的权值。

输入格式
第一行包含整数 T。

接下来 T行，每行包含 5个 0∼9范围内的整数，表示一组数据。

输出格式
输出 T 行，每行一个整数，表示每组数据中五个整数的权值。

数据范围
数据范围 1≤T≤1000
输入样例：
4
1 0 0 1 0
1 0 0 8 6
3 4 5 6 7
4 5 6 7 8
输出样例：
2
-1
-1
0
*/

int n;
int a[5];

void solve() {
	cin >> a[0] >> a[1] >> a[2] >> a[3] >> a[4];
	int sum = a[0] + a[1] + a[2] + a[3] + a[4];
	sum %= 10;
	int res = -1;
	for (int i = 0; i < 5; i++) {
		for (int j = i + 1; j < 5; j++) {
			if ((a[i] + a[j]) % 10 == sum) {
				res = sum; break;
			}
		}
	}

	cout << res << endl;
}



int main()
{
	cin >> n;
	while (n--) {
		solve();
	}

	return 0;
}
 